#include<iostream>
using namespace std;

//class NumberList{
//private:
//	struct ListNode{
//		double value;
//		ListNode *next;
//	};
//	// list head node
//	ListNode *head;
//public:
//	NumberList(){
//		head = NULL;
//	}
//	// destructor
//	~NumberList();
//
//	void appendNode(double);
//	void insertNode(double);
//	void deleteNode(double);
//	void display() const;
//};
//void NumberList::appendNode(double num){
//	ListNode *newNode; // to point to a new node
//	ListNode *nodePtr; // to move through the list
//
//	// allocate a new node and store it
//	newNode = new ListNode;
//	newNode->value = num;
//	newNode->next = NULL;
//
//	// if there are no node in the list
//	// made new Node the first node
//	if (!head){
//		head = newNode;
//	}
//	else // otherwise insert node at the end
//	{
//		nodePtr = head;
//		// find the last node in the list
//		while (nodePtr->next)
//		{
//			nodePtr = nodePtr->next;
//		}
//		// insert node at the end
//		nodePtr->next = newNode;
//	}
//}
//void NumberList::display() const{
//	ListNode *ptrNode;
//	ptrNode = head;
//
//	while (ptrNode)
//	{
//		// display value in this node
//		cout << ptrNode->value << " " << endl;
//		// move to next node
//		ptrNode = ptrNode->next;
//	}
//}
//
//void NumberList::insertNode(double num){
//	ListNode *newNode;
//	ListNode *nodePtr;
//	ListNode *preNode = NULL;
//
//	// allocate a new node and store num there
//	newNode = new ListNode;
//	newNode->value = num;
//
//	// if there are no node in the list
//	// make it first node
//	if (!head){
//		head = newNode;
//		newNode->next = NULL;
//	}
//	else{
//
//
//		// position nodePtr at the head of list
//		nodePtr = head;
//		preNode = NULL;
//		// skip all nodes whose value is less than num
//		while (nodePtr != NULL &&	nodePtr->value < num)
//		{
//			preNode = nodePtr;
//			nodePtr = nodePtr->next;
//		}                                                          
//		// If the new node is to be the 1st in the list
//		// insert it before all other nodes.
//		if (preNode == NULL)
//		{
//			head = newNode;
//			newNode->next = nodePtr;
//		}
//		else{ // insert after previous node
//			preNode->next = newNode;
//			newNode->next = nodePtr;
//		}
//	}
//}
//void NumberList::deleteNode(double num){
//	ListNode *ptrNode;
//	ListNode *preNode;
//
//	// if list is empty, do nothing
//	if (!head){
//		return;
//	}
//	if (head->value == num){
//		ptrNode = head->next;
//		delete(head);
//		head = ptrNode;
//	}
//	else{
//		// initial nodePtr to head a list
//		ptrNode = head;
//		// skip all nodes whose value nu>mber is not equal
//		while (ptrNode!=NULL && ptrNode->value != num)
//		{
//			preNode = ptrNode;
//			ptrNode = ptrNode->next;
//		}
//		if (ptrNode){
//			preNode->next = ptrNode->next;
//			delete ptrNode;
//		}
//	}
//}
//NumberList::~NumberList(){
//	ListNode *ptrNode;
//	ListNode *nextNode;  // to point to next node
//
//	ptrNode = head;
//
//	while (ptrNode != NULL)
//	{
//		// save pointer to the next node
//		nextNode = ptrNode->next;
//		// delete current node
//		delete ptrNode;
//		// position node at next node
//		ptrNode = nextNode;
//	}
//}
//int main(){
//	NumberList list;
//	list.appendNode(2.5);
//	list.appendNode(7.9);
//	list.appendNode(9.9);
//
//	list.display();
//	system("pause");
//}
//void foo(int &x, int y){
//	int t;
//	t = x;
//	x = y;
//	y = t;
//}
//int foo(int n){
//	
//	cout << "a" << endl;
//	if (n <= 2)
//		return 0;
//	else
//		return foo(n - 1) + foo(n - 2);
//}
typedef struct Node{
	int data;
};
void foo(Node *ptr){}
Node list[100];
int main(){
	//int *p, *q, i = 7, j = 8;
	//p = &i; q = &j;
	//cout << *p;
	//*q = i;
	//cout << *q;
	//q = p;
	//cout << *q;
	//p = q;
	//cout << *p;
	//int a = 10, b = 20;
	//foo(a, b);
	//cout << a;
	//cout << b;
	foo(list);
	system("pause");
}